# This the Class definition for Promptbook related classes
# Can be used when strong types are needed

#---------------- Declare classes for strong typing
class PromptBooks
{
    [System.Object] $content
    [System.Collections.Generic.List[Promptbook]] $value
    [System.Object] $nextlink
}

class Promptbook
{
    [string] $promptbookId
    [string] $name
    [string] $description
    [string] $visibility
    [System.Collections.Generic.List[Prompt]] $prompts
    [System.Collections.Generic.List[PromptbookInput]] $promptbookinputs
    [System.Collections.Generic.List[Tag]] $tags
    [string] $createdAt
    [string] $updatedAt
    [string] $workspaceId
    [string] $userId
    [string] $tenantId
    [string] $ownerName
    [System.Object] $plugins
}

class Prompt
{
    [string] $promptbookPromptId
    [string] $promptType
    [string] $content
    [string] $skillName
    [string] $inputs
    [System.Collections.Generic.List[System.Object]] $plugins
}

class PromptbookInput
{
    [string] $name
    [string] $description
}

class Tag
{
    [string] $name
    [bool] $autoGenerated
}
#---------------- End of class decllarations